home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / tool / otohime / src / otohime.c < prev    next >
Text File  |  1994-11-16  |  5KB  |  222 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <winb.h>
  5. #include <te.h>
  6. #include <fntb.h>
  7. #include <gui.h>
  8. #include <file_dlg.h>
  9. #include <egb.h>
  10. #include <mos.h>
  11. #include <snd.h>
  12.  
  13. char    *guiEgbPtr ;            /*    EGB のワークアドレス    */
  14. char    guiSndPtr[16*1024] ;    /*    SND のワークアドレス    */
  15.  
  16. void main()
  17. {
  18.     extern int APL_init() ;
  19.     extern int startSet() ;    /* buffer確保その他の関数 */
  20.  
  21.     MMICTRL ctrl ;
  22.  
  23.     /*    致命的エラーハンドラの登録    */
  24.     FM_SetVector() ;
  25.  
  26.     /*    サウンドの初期化    */
  27.     SND_init(guiSndPtr) ;
  28.  
  29.     /*    初期化処理    */
  30.     ctrl.page0 = 3 ;
  31.     ctrl.page1 = 3 ;
  32.     ctrl.writePage = 0 ;
  33.     ctrl.displayPage = 1 ;
  34.     ctrl.priority = 0 ;
  35.     ctrl.mode = 0 ;
  36.     ctrl.width = 512 ;
  37.     ctrl.size = 0 ;
  38.     ctrl.ptr = NULL ;
  39.     ctrl.asize = 0 ;
  40.     ctrl.aptr = NULL ;
  41.     ctrl.fr.lupx = 0 ;
  42.     ctrl.fr.lupy = 0 ;
  43.     ctrl.fr.rdwx = 639 ;
  44.     ctrl.fr.rdwy = 479 ;
  45.     ctrl.move.lupx = 0 ;
  46.     ctrl.move.lupy = 20 ;    /*    ダイアログの移動範囲に制限を付ける(y座標)    */
  47.     ctrl.move.rdwx = 639 ;
  48.     ctrl.move.rdwy = 479 ;
  49.     ctrl.white = 15 ;
  50.     ctrl.black = 8 ;        /*    パレット変更に伴いGUIの表示色を変更(黒)        */
  51.     ctrl.gray = 7 ;            /*                 〃                    (灰色)    */
  52.     ctrl.xor = 7 ;            /*                 〃                    (反転色)    */
  53.     if (MMI_Open( &ctrl ) == NOERR)
  54.     {
  55.         /*    初期化に成功すればメインループに入る.    */
  56.         if (APL_init() == NOERR)
  57.         {
  58.  
  59.             FDG_SaveCurDir() ;        /*    カレントディレクトリ保存    */
  60.             FDG_InitFileDlg() ;        /*    ファイルダイアログ初期化    */
  61.  
  62.             if( startSet() == NOERR )
  63.                 MMI_ExecSystem() ;        /*    メインのイベントループ        */
  64.  
  65.             FDG_FreeFileDlg() ;        /*    ファイルダイアログ終了処理    */
  66.             FDG_RecovCurDir() ;        /*    カレントディレクトリ復元    */
  67.         }
  68.         MMI_SendMessage( MMI_GetBaseObj(), MM_ERASE, 0 ) ;
  69.     }
  70.  
  71.     /*    終了処理    */
  72.     MMI_Close() ;
  73.  
  74.     /*    サウンドの終了    */
  75.     SND_end() ;
  76.  
  77.     /*    致命的エラーハンドラの復帰    */
  78.     FM_ResetVector() ;
  79. }
  80.  
  81. int APL_init()
  82. {
  83.     extern int        setPalette( char * ) ;    /*    パレット設定関数    */
  84.     extern int        mItemId[] ;
  85.  
  86.     extern MMIINIT    initDataIOTABOU ;
  87.     extern MMIINIT    initDataIOTDSK ;
  88.     extern MMIINIT    initDataIOTERR ;
  89.     extern MMIINIT    initDataIOTMIX ;
  90.     extern MMIINIT    initDataIOTPHA ;
  91.     extern MMIINIT    initDataIOTREC ;
  92.     extern MMIINIT    initDataIOTINF ;
  93.     extern MMIINIT    initDataIOTECH ;
  94.     extern MMIINIT    initDataIOTVIB ;
  95.     extern MMIINIT    initDataIOTTRE ;
  96.     extern MMIINIT    initDataIOTVOI ;
  97.     extern MMIINIT    initDataIOTEXP ;
  98.     extern MMIINIT    initDataIOTLEV ;
  99.     extern MMIINIT    initDataIOTPCH ;
  100.     extern MMIINIT    initDataIOTSMP ;
  101.     extern MMIINIT    initDataIOTHED ;
  102.     extern MMIINIT    initDataIOTFAD ;
  103.     extern MMIINIT    initDataIOTHAR ;
  104.  
  105.     register int    ret ;
  106.  
  107.     /*    EGB ワークアドレスの取得.    */
  108.     guiEgbPtr = MMI_GetEgbPtr() ;
  109.  
  110.     /*    ハイパ型部品の初期化            */
  111.     if ((ret = MMI_initHyper()) < 0)
  112.         return ret ;
  113.     /*    ダイアログ型部品の初期化        */
  114.     if ((ret = MMI_initDialogL40()) < 0)
  115.         return ret ;
  116.     /*    アラート型部品の初期化            */
  117.     if ((ret = MMI_initAlertL40()) < 0)
  118.         return ret ;
  119.     /*    メッセージ型部品の初期化        */
  120.     if ((ret = MMI_initMessageL40()) < 0)
  121.         return ret ;
  122.     /*    メニュー型部品の初期化            */
  123.     if ((ret = MMI_initMenuL40()) < 0)
  124.         return ret ;
  125.     /*    ボタン型部品の初期化            */
  126.     if ((ret = MMI_initButtonL40()) < 0)
  127.         return ret ;
  128.     /*    ドロウボタン型部品の初期化        */
  129.     if ((ret = MMI_initDrawButtonL40()) < 0)
  130.         return ret ;
  131.     /*    アイコンボタン型部品の初期化    */
  132.     if ((ret = MMI_initIconL40()) < 0)
  133.         return ret ;
  134.     /*    メニューアイテム型部品の初期化    */
  135.     if ((ret = MMI_initMenuItemL40()) < 0)
  136.         return ret ;
  137.     /*    スクロール型部品の初期化        */
  138.     if ((ret = MMI_initScrollBarL40()) < 0)
  139.         return ret ;
  140.     /*    テキスト型部品の初期化            */
  141.     if ((ret = MMI_initTextL40()) < 0)
  142.         return ret ;
  143.     /*    リストメニュー型部品の初期化    */
  144.     if ((ret = MMI_initListMenuL40()) < 0)
  145.         return ret ;
  146.     /*    数値入力型部品の初期化            */
  147.     if ((ret = MMI_initNumBoxL40()) < 0)
  148.         return ret ;
  149.  
  150.     /*    デフォルトビジュアルイフェクトの登録    */
  151.     MMI_SetUpVisualEffect() ;
  152.  
  153.     /*    パレット変更 */
  154.     ret = setPalette( guiEgbPtr ) ;
  155.  
  156.     /*    背景データの初期化                        */
  157.  
  158.     /*    データの登録        */
  159.     if ((ret = MMI_Init(&initDataIOTABOU)) < 0)
  160.         return ret ;
  161.  
  162.     if ((ret = MMI_Init(&initDataIOTDSK)) < 0)
  163.         return ret ;
  164.  
  165.     if ((ret = MMI_Init(&initDataIOTERR)) < 0)
  166.         return ret ;
  167.  
  168.     if ((ret = MMI_Init(&initDataIOTMIX)) < 0)
  169.         return ret ;
  170.  
  171.     if ((ret = MMI_Init(&initDataIOTPHA)) < 0)
  172.         return ret ;
  173.  
  174.     if ((ret = MMI_Init(&initDataIOTREC)) < 0)
  175.         return ret ;
  176.  
  177.     if ((ret = MMI_Init(&initDataIOTINF)) < 0)
  178.         return ret ;
  179.  
  180.     if ((ret = MMI_Init(&initDataIOTECH)) < 0)
  181.         return ret ;
  182.  
  183.     if ((ret = MMI_Init(&initDataIOTVIB)) < 0)
  184.         return ret ;
  185.  
  186.     if ((ret = MMI_Init(&initDataIOTTRE)) < 0)
  187.         return ret ;
  188.  
  189.     if ((ret = MMI_Init(&initDataIOTVOI)) < 0)
  190.         return ret ;
  191.  
  192.     if ((ret = MMI_Init(&initDataIOTEXP)) < 0)
  193.         return ret ;
  194.  
  195.     if ((ret = MMI_Init(&initDataIOTLEV)) < 0)
  196.         return ret ;
  197.  
  198.     if ((ret = MMI_Init(&initDataIOTPCH)) < 0)
  199.         return ret ;
  200.  
  201.     if ((ret = MMI_Init(&initDataIOTSMP)) < 0)
  202.         return ret ;
  203.  
  204.     if ((ret = MMI_Init(&initDataIOTHED)) < 0)
  205.         return ret ;
  206.  
  207.     if ((ret = MMI_Init(&initDataIOTFAD)) < 0)
  208.         return ret ;
  209.  
  210.     if ((ret = MMI_Init(&initDataIOTHAR)) < 0)
  211.         return ret ;
  212.  
  213.     /*    SIDEWORKメニューの登録                    */
  214.     ret = MMI_SetUpSDKMenu( mItemId[0], 2 ) ;
  215.  
  216.     /*    背景を表示する                            */
  217.     MMI_SendMessage(MMI_GetBaseObj(), MM_SHOW, 0) ;
  218.  
  219.     return NOERR ;
  220. }
  221.  
  222.